IniReadString Function

public function IniReadString(key, iniDB, section, subSection)

read a string corresponding to Key

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: key
type(IniList), intent(in) :: iniDB
character(len=*), intent(in), optional :: section
character(len=*), intent(in), optional :: subSection

Return Value character(len=stringLen)


Variables

Type Visibility Attributes Name Initial
integer(kind=long), public :: elmBegin
integer(kind=long), public :: elmEnd
integer(kind=long), public :: i

Source Code

FUNCTION IniReadString &
!
(key, iniDB, section, subSection)

IMPLICIT NONE

! subroutine arguments 
! Scalar arguments with intent(in):
CHARACTER (LEN = *),           INTENT(IN) :: key
TYPE (IniList)     ,           INTENT(IN) :: iniDB
CHARACTER (LEN = *), OPTIONAL, INTENT(IN) :: section
CHARACTER (LEN = *), OPTIONAL, INTENT(IN) :: subSection

! Scalar arguments with intent(out):
CHARACTER (LEN = stringLen) :: IniReadString
! Local Scalars: 
INTEGER (KIND = long) :: elmBegin
INTEGER (KIND = long) :: elmEnd
INTEGER (KIND = long) :: i
!------------end of declaration------------------------------------------------

IF ( PRESENT (section) .AND. PRESENT (subSection) ) THEN
 CALL Sync(elmBegin, elmEnd, iniDB, sec = section, subSec = subSection)
ELSE IF ( PRESENT (section) .AND. .NOT.PRESENT (subSection)) THEN
	CALL Sync(elmBegin, elmEnd, iniDB, sec = section)
ELSE
	CALL Sync(elmBegin, elmEnd, iniDB)
ENDIF

IniReadString = ''

DO i = elmBegin, elmEnd
   IF (Key == iniDB % Keys(i) ) THEN
      IniReadString = iniDB % Vals(i)
      RETURN
   END IF
END DO

END FUNCTION IniReadString